package com.example.api;

import com.example.entity.User;
import com.github.lianjiatech.retrofit.spring.boot.core.RetrofitClient;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;

import java.util.List;

/**
 * 自定义 API 接口
 * 演示使用自定义 OkHttpClient
 * 
 * @author example
 * @since 2024-01-01
 */
@RetrofitClient(baseUrl = "${external.api.jsonplaceholder.base-url}")
public interface CustomApi {

    /**
     * 获取所有用户
     */
    @GET("/users")
    Call<List<User>> getUsersWithSign();

    /**
     * 根据 ID 获取用户
     * 
     * @param id 用户 ID
     * @return 用户信息
     */
    @GET("/users/{id}")
    Call<User> getUserWithSign(@Path("id") Long id);

    /**
     * 普通请求
     * 
     * @param id 用户 ID
     * @return 用户信息
     */
    @GET("/users/{id}")
    Call<User> getUserNormal(@Path("id") Long id);
} 